<table width="100%"><tr><td width="20%">
<a href="../index.html">&lt; index</a><br />
<a href="../random/index.html">&lt; 9. Pseudorandom number generator</a>
</td><td width="60%">
<p align="center">
=====================================<br />
10. Noise generator<br />
=====================================<br />
</p></td><td width="20%">
<a href="../zip/index.html">&gt; 11. Compression toolkit</a>
</td></tr></table>
<style type="text/css">
.code { color:#444444; background-color:#EEEEEE;}
pre { color:#444444; background-color:#EEEEEE;}
table.param td { border : 1px solid #000000; }
th { background-color: #44BBFF; color: #FFFFFF }
table.none td { border : 0 }
</style>
This toolkit provides several functions to generate <a href="http://en.wikipedia.org/wiki/Perlin_noise">Perlin noise</a> and other derived noises.<br/>
It can handle noise functions from 1 to 4 dimensions.<br />
Usage example :<br />
1D noise : the variation of a torch intensity<br />
2D fbm : for heightfield generation or clouds<br />
<br />
<a href="noise_init.html">10.1 Creating a noise generator</a><br />
<a href="noise_perlin.html">10.2 Getting Perlin noise</a><br />
<a href="noise_simplex.html">10.3 Getting simplex noise</a><br />
<a href="noise_wavelet.html">10.4 Getting wavelet noise</a><br />
<a href="noise_delete.html">10.5 Destroying a generator</a><br />
<br />
If you don't know what is Perlin noise and derived functions, or what is the influence of the different fractal parameters, check the perlin noise sample included with the library.<br />
<p align="center">
<table width="800px">
	<tr><td align="center">Perlin noise, fbm, turbulence</td>
	<td align="center"><img src="perlin.png"></td>
	<td align="center"><img src="fbm_perlin.png"></td>
	<td align="center"><img src="turbulence_perlin.png"></td></tr>
	<tr><td align="center">Simplex noise, fbm, turbulence</td>
	<td align="center"><img src="simplex.png"></td>
	<td align="center"><img src="fbm_simplex.png"></td>
	<td align="center"><img src="turbulence_simplex.png"></td></tr>
	<tr><td align="center">Wavelet noise, fbm, turbulence</td>
	<td align="center"><img src="wavelet.png"></td>
	<td align="center"><img src="fbm_wavelet.png"></td>
	<td align="center"><img src="turbulence_wavelet.png"></td></tr>
</table>
</p>
<br />
Noise functions relative times :<br />
For example, in 4D, the perlin noise is 17 times slower than the simplex noise.<br />
<table border="1">
	<tr><td></td><td>1D</td><td>2D</td><td>3D</td><td>4D</td></tr>	<tr><td>simplex</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>	<tr><td>Perlin</td><td>1.3</td><td>4</td><td>5</td><td>17</td></tr>	<tr><td>wavelet</td><td>53</td><td>32</td><td>14</td><td>X</td></tr></table>
<br />
